package com.weiqiao.api.repository;

import org.bson.Document;
import org.bson.conversions.Bson;

import java.util.List;

/**
 * @author ChenYF
 * @Description
 * @Date 2020/7/27 19:28
 */
public interface IAppuserApiRepository {
    /**
     * 新建用户
     *
     * @param company_id 公司id
     * @param json       用户实体
     * @return
     */
    boolean addUser(int company_id, Bson bson, String json);

    /**
     * 通过条件查询
     *
     * @param company_id 公司id
     * @param filter     查询条件
     * @return str
     */
    String getAppUserByFilter(int company_id, Bson filter);

    /**
     * 修改用户信息
     *
     * @param company_id 公司id
     * @param filter     查询条件
     * @param doc        修改内容
     * @param batch      是否批量修改
     * @return
     */
    boolean updateAppUser(int company_id, Bson filter, Document doc, boolean batch);

    /**
     * 排序查询用户信息
     *
     * @param company_id 公司id
     * @param filter     查询条件
     * @param sort       排序条件
     * @return
     */
    List<String> getUserBySort(int company_id, Bson filter, Bson sort);

    /**
     * 分页获取用户信息
     *
     * @param company_id
     * @param filter
     * @param sort
     * @param skip
     * @param limit
     * @return
     */
    List<String> getPageList(int company_id, Bson filter, Bson sort, int skip, int limit);

    /**
     * 删除单条数据
     *
     * @param company_id
     * @param filter
     * @return
     */
    boolean delUser(int company_id, Bson filter);

    /**
     * 统计总人数
     * @param company_id
     * @param filter
     * @return
     */
    int countInfoNum(int company_id, Bson filter);
}
